#ifndef IARC_H
#define IARC_H

#include "iidentifiable.h"

#include <coretypes.h>

namespace net
{

class IExpression;

class IArc : public IIdentifiable
{
public:
    IArc() : IIdentifiable() {}

    virtual IExpression* getExpression() const = 0;
    virtual core::BasicTime getDelay() const = 0;

    virtual void setExpression(IExpression* expression) = 0;
    virtual void setDelay(const core::BasicTime& time) = 0;

protected:
    virtual ~IArc() {}
};

} // namespace net
#endif
